<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/common/taglibs.jsp"%>

<html>
	<head>
		<title>工作流系统测试</title>
		<%@ include file="/common/meta.jsp"%>
		<%@ include file="/common/jquery-ui-inc.jsp"%>
	</head>
	<script>
	$.ajaxSetup({
		cache : false
	});
	
	//删除流程定义id级联删除流程
	function deleteDyJbpm() {
		var deploymentId = $("#deId").val();
		$.messager.confirm('确认', '您确定要删除:<font color="red">' + deploymentId + '</font>?',function(r){
			if (r) {
				$.ajax({
					type : "post",
					url : "${ctx}/flow/core/flow-test!casDelJbpmDeploy.action?deploymentId="+deploymentId,
					success : function(data, textStatus) {
						var result = jQuery.parseJSON(data);
   						if(result.flag=='T'){
							$.messager.alert('结果', '操作成功!', 'info',function(){
								$("#deId").val("");
							});
   						}else{
   							$.messager.alert('结果', result.msg, 'error');	
   						}
					},
					error : function() {
						$.messager.alert('提示', '连接服务器失败!', 'error');
					}
				});
			}
		});
	}
	
	//删除流程定义id删除flow_deploy表中数据
	function deleteDyMy() {
		var deployId = $("#deIdMy").val();
		$.messager.confirm('确认', '您确定要删除:<font color="red">' + deployId + '</font>?',function(r){
			if (r) {
				$.ajax({
					type : "post",
					url : "${ctx}/flow/core/flow-test!delFlowDeploy.action?deployId="+deployId,
					success : function(data, textStatus) {
						var result = jQuery.parseJSON(data);
   						if(result.flag=='T'){
							$.messager.alert('结果', '操作成功!', 'info',function(){
								$("#deIdMy").val("");
							});	
   						}else{
   							$.messager.alert('结果', result.msg, 'error');	
   						}
					},
					error : function() {
						$.messager.alert('提示', '连接服务器失败!', 'error');
					}
				});
			}
		});
	}
	
	
	
	//启动流程实例
	function startMyNo() {
		var startMy = $("#startMy").val();
		var params = $("#start_task_params").val();
		
		$.ajax({
			type : "post",
			url : "${ctx}/flow/core/flow-test!start.action?definitionId="+startMy,
			data:params,
			success : function(data, textStatus) {
				var result = jQuery.parseJSON(data);
 						if(result.flag=='T'){
					$.messager.alert('结果', '操作成功!', 'info',function(){
						$("#startMy").val("");
					});	
 						}else{
 							$.messager.alert('结果', result.msg, 'error');	
 						}
			},
			error : function() {
				$.messager.alert('提示', '连接服务器失败!', 'error');
			}
		});
	}
	
	//删除jbpm流程实例
	function removeJbpmPro() {
		var removeJbpmPro = $("#removeJbpmPro").val();
		$.ajax({
			type : "post",
			url : "${ctx}/flow/core/flow-test!delJbpmPro.action?processInstanceId="+removeJbpmPro,
			success : function(data, textStatus) {
				var result = jQuery.parseJSON(data);
 						if(result.flag=='T'){
					$.messager.alert('结果', '操作成功!', 'info',function(){
						$("#removeJbpmPro").val("");
					});	
 						}else{
 							$.messager.alert('结果', result.msg, 'error');	
 						}
			},
			error : function() {
				$.messager.alert('提示', '连接服务器失败!', 'error');
			}
		});
	}
	
	
	//删除历史数据流程实例
	function removeFlowPro() {
		var removeFlowPro = $("#removeFlowPro").val();
		$.ajax({
			type : "post",
			url : "${ctx}/flow/core/flow-test!delHisFlowPro.action?processInstanceId="+removeFlowPro,
			success : function(data, textStatus) {
				var result = jQuery.parseJSON(data);
 						if(result.flag=='T'){
					$.messager.alert('结果', '操作成功!', 'info',function(){
						$("#removeFlowPro").val("");
					});	
 						}else{
 							$.messager.alert('结果', result.msg, 'error');	
 						}
			},
			error : function() {
				$.messager.alert('提示', '连接服务器失败!', 'error');
			}
		});
	}
	
	//审核
	function approve() {
		var approveTaskId = $("#approve_task_id").val();
		var taskParams = $("#task_params").val();
		
		var approveFlag = $('input[name="approve_radio"]:checked').val();
		$.ajax({
			type : "post",
			url : "${ctx}/flow/core/approve.php?result="+approveFlag+"&taskId="+approveTaskId+"&"+taskParams,
			success : function(data, textStatus) {
				var result = jQuery.parseJSON(data);
 						if(result.flag=='T'){
					$.messager.alert('结果', result.msg, 'info',function(){
						$("#approve_task_id").val("");
					});	
 						}else{
 							$.messager.alert('结果', result.msg, 'error');	
 						}
			},
			error : function() {
				$.messager.alert('提示', '连接服务器失败!', 'error');
			}
		});
	}
	
	//提交审核
	function approvesub() {
		var approveTaskId = $("#approve_task_id1").val();
		var taskParams = $("#task_params1").val();
		$.ajax({
			type : "post",
			url : "${ctx}/flow/core/approve.php?taskId="+approveTaskId+"&"+taskParams,
			success : function(data, textStatus) {
				var result = jQuery.parseJSON(data);
 						if(result.flag=='T'){
					$.messager.alert('结果', result.msg, 'info',function(){
						$("#approve_task_id").val("");
					});	
 						}else{
 							$.messager.alert('结果', result.msg, 'error');	
 						}
			},
			error : function() {
				$.messager.alert('提示', '连接服务器失败!', 'error');
			}
		});
	}
	
</script>
	<body style="font-size: 12px;">
		删除流程定义(JBPM表):<br>
		描述:如果flow_deploy表中的数据已清空,而没有删除掉JBPM表中的流程定义,则调用此方式进行级联删除<br>
		<input type="text" id="deId" /><a href="#" class="easyui-linkbutton" id="bt1" iconCls="icon-remove" onclick="deleteDyJbpm();">删除</a>
		<hr />
		删除流程定义(flow_deploy表):<br>
		描述:如果JBPM中的流程定义已经删除,而flow_deploy中未删除,则使用此方式进行删除<br>
		<input type="text" id="deIdMy" /><a href="#" class="easyui-linkbutton" id="bt2" iconCls="icon-remove" onclick="deleteDyMy();">删除</a>
		<hr />
		启动流程实例,填流程定义Id:<br>
		描述:启动流程实例
		<input type="text" id="startMy" /><br>
		携带参数,多个用&分隔,例如 a=1&b=2:<input type="text" id="start_task_params" /><br>
		<a href="#" class="easyui-linkbutton" id="bt3" iconCls="icon-remove" onclick="startMyNo();">启动</a>
		<hr />
		审核流程:
		任务Id:<input type="text" id="approve_task_id1" /><br>
		携带参数,多个用&分隔,例如 a=1&b=2:<input type="text" id="task_params1" /><br>
			 	 <a href="#" class="easyui-linkbutton" id="bt6" iconCls="icon-remove" onclick="approvesub();">提交审核</a><br>
		<hr />
		审核流程:
		任务Id:<input type="text" id="approve_task_id" /><br>
		携带参数,多个用&分隔,例如 a=1&b=2:<input type="text" id="task_params" /><br>
		审核结果:<input type="radio" name="approve_radio"   value="T" checked="checked" /> 通过
				 <input type="radio" name="approve_radio" value="F" /> 不通过
			 	 <a href="#" class="easyui-linkbutton" id="bt6" iconCls="icon-remove" onclick="approve();">审核</a><br>
		<hr />
		删除流程实例(jbpm),填流程实例Id:<br>
		描述:级联删除jbpm的流程实例,但是不会删除工作流历史中的实例记录<br>
		<input type="text" id="removeJbpmPro" /><a href="#" class="easyui-linkbutton" id="bt4" iconCls="icon-remove" onclick="removeJbpmPro();">删除JBPM流程实例</a>
		<hr />
		删除流程实例(history),填流程实例Id:<br>
		描述:删除工作流历史中的实例记录<br>
		<input type="text" id="removeFlowPro" /><a href="#" class="easyui-linkbutton" id="bt5" iconCls="icon-remove" onclick="removeFlowPro();">删除Flow流程实例</a>
	</body>
</html>